package 动态规划.打家劫舍;

/**
 * @author aodre , QQ : 480029069
 * @date 2023/7/5 16:57
 */
public class 左美团面试题 {
    /*
         打家劫舍四！
        https://www.bilibili.com/video/BV1JM4y1E73X/?spm_id_from=333.788.top_right_bar_window_dynamic.content.click&vd_source=179da737184de5a8f84e4f6c2ee5c350
     */

    /*
     题都没搞明白！
     k 个数中， 最大值， 最小

     入股用动态规划来写，思维 还是挺强得！
     用动态规划得思想，来写这道题，仔细去思考这个流程还是挺有意思的！
     */
    public int solution(int index,int k,int nums[]){
        if(index >= nums.length){
            return k == 0 ? 0 : Integer.MAX_VALUE;
        }
        // 一定要时刻明白 f（index,k） 函数的 意义
        int ans1 = 0, ans2 = 0;
        ans1 = Math.max(solution(index + 2,k - 1,nums),nums[index]); // 一定要弄清楚这在做一件什么样的事情

        ans2 = solution(index + 1,k,nums);

        return Math.min(ans1,ans2);  // 这就是 f（index ，k）
    }


    /*
     正确做的发是二分答案：
     那就放到 二分包下！
     */


}
